home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / elk-2_0.lha / elk-2.0 / examples / xaw / accel next >
Text File  |  1991-10-30  |  969b  |  32 lines

  1. ;;; -*-Scheme-*-
  2. ;;;
  3. ;;; Demonstrate usage of accelerators
  4. ;;;
  5. ;;; Based on an example program (xtryaccel.c) from the O'Reilly
  6. ;;; book `X Toolkit Intrinsics Programming Manual'
  7.  
  8. (require 'xwidgets)
  9. (load-widgets command box shell)
  10.  
  11. (define top (application-initialize 'accel
  12.   "*bye.label:    Goodbye"
  13.   "*hello.label:  Hello"
  14.   "*font:  *courier-bold-r*18*iso8859-1"))
  15.  
  16. (define box (create-managed-widget (find-class 'box) top))
  17.  
  18. (define bye (create-managed-widget 'bye (find-class 'command) box
  19.   'accelerators "<KeyPress>q: set() notify()"))
  20. (add-callback bye 'callback (lambda _ (exit)))
  21.  
  22. (define hello (create-managed-widget 'hello (find-class 'command) box
  23.   'accelerators "<KeyPress>p: set() notify() reset()"))
  24. (add-callback hello 'callback (lambda _ (display "Hello world!\n")))
  25.  
  26. (install-accelerators box bye)
  27. (install-accelerators box hello)
  28.  
  29. (realize-widget top)
  30. (display "Press 'p' for Hello, 'q' for Goodbye.\n")
  31. (context-main-loop (widget-context top))
  32.